package com.ee.chat.admin.controller.materialmanage;

import com.ee.chat.admin.service.IBannerService;
import com.ee.chat.common.bean.Result;
import com.ee.chat.common.entity.Banner;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

/**
 * @author AppiJ 2019年11月12日 17:47
 */
@RestController
@RequestMapping("banner")
public class BannerController {

    private Logger log = LoggerFactory.getLogger(BannerController.class);

    @Resource
    IBannerService bannerService;

    /**
     * banner列表
     * @author AppiJ
     * @date 2019年11月12日 17:52:34
     * @param
     * @return
     */
    @RequestMapping("list")
    public Result list(HttpServletRequest request, @RequestParam Integer page, @RequestParam Integer limit){
        try{
            return bannerService.list(request, page, limit);
        }catch (Exception e){
            log.error("【查询礼物列表错误】", e);
        }
        return Result.returnFailure();
    }

    /**
     * 添加/编辑banner
     * @author AppiJ
     * @date 2019年11月14日 14:40:54
     * @param banner
     * @return
     */
    @RequestMapping("add")
    public Result add(HttpServletRequest request, Banner banner){
        try {
            return bannerService.add(request, banner);
        } catch (Exception e){
            log.error("【添加banner错误】", e);
        }
        return Result.returnFailure();
    }

    /**
     * 去编辑banner
     * @author AppiJ
     * @date 2019年11月14日 14:52:28
     * @param id
     * @return
     */
    @RequestMapping("toEdit")
    public Result toEdit(HttpServletRequest request, @RequestParam(required = false) Integer id){
        try {
            return bannerService.toEdit(request, id);
        } catch(Exception e){
            log.error("【去编辑banner错误】", e);
        }
        return Result.returnFailure();
    }

    /**
     * 禁用/启用banner
     * @author AppiJ
     * @date 2019年11月14日 14:55:27
     * @param id
     * @return
     */
    @RequestMapping("updateStatus")
    public Result updateStatus(HttpServletRequest request, @RequestParam Integer id){
        try {
            return bannerService.updateStatus(request, id);
        } catch (Exception e){
            log.error("【禁用/启用banner错误】", e);
        }
        return Result.returnFailure();
    }
}
